// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.fee.manage;

import com.fowo.api.common.annotaion.DataObjectType;
import com.fowo.api.common.meta.MetaDataObject;
import com.fowo.api.common.meta.MetaDataObjects;
import com.fowo.api.common.model.PageSearch;
import com.fowo.api.common.mybatis.helper.PageSearchHelper;
import com.fowo.api.common.util.ListUtils;
import com.fowo.api.entity.FeeManage;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

@DataObjectType(FeeManage.class)
@Setter
@Getter
public class FeeManageSearchParamPo extends PageSearch {

  private static MetaDataObject metaDataObject;

  @Override
  public void applySqlSegments() {
    if (metaDataObject == null) {
      metaDataObject =
        ListUtils.find(
          MetaDataObjects.getObjects(),
          o -> "FeeManage".equals(o.getName())
        );
    }
    PageSearchHelper.fillSqlSegments(this, metaDataObject);
  }

  @Override
  public void initFinal() {
    super.initFinal();
    applySqlSegments();
  }

  /**
   * 获取关联字段的查询表别名信息
   */
  @Override
  public Map<String, String> getJoinFieldTableAliasMap() {
    Map<String, String> map = new HashMap<>();
    map.put("createUser", "su");
    return map;
  }

  @Override
  public Map<String, OptionalJoinField> getOptionalJoinFields() {
    Map<String, OptionalJoinField> map = new HashMap<>();
    map.put(
      "itemList.sid",
      new OptionalJoinField()
        .setJoinPart(
          "LEFT JOIN fee_manager_son AS RO_1 ON RO_1.del_flag = 0 AND RO_1.fee_manager_form_id = t.id"
        )
        .setTableAlias("RO_1")
        .setColumnName("sid")
        .setNeedGroupBy(true)
    );
    map.put(
      "itemList.msku",
      new OptionalJoinField()
        .setJoinPart(
          "LEFT JOIN fee_manager_son AS RO_2 ON RO_2.del_flag = 0 AND RO_2.fee_manager_form_id = t.id"
        )
        .setTableAlias("RO_2")
        .setColumnName("msku")
        .setNeedGroupBy(true)
    );
    map.put(
      "itemList.asin",
      new OptionalJoinField()
        .setJoinPart(
          "LEFT JOIN fee_manager_son AS RO_3 ON RO_3.del_flag = 0 AND RO_3.fee_manager_form_id = t.id"
        )
        .setTableAlias("RO_3")
        .setColumnName("asin")
        .setNeedGroupBy(true)
    );
    map.put(
      "itemList.parentAsin",
      new OptionalJoinField()
        .setJoinPart(
          "LEFT JOIN fee_manager_son AS RO_4 ON RO_4.del_flag = 0 AND RO_4.fee_manager_form_id = t.id"
        )
        .setTableAlias("RO_4")
        .setColumnName("parent_asin")
        .setNeedGroupBy(true)
    );
    map.put(
      "itemList.sku",
      new OptionalJoinField()
        .setJoinPart(
          "LEFT JOIN fee_manager_son AS RO_5 ON RO_5.del_flag = 0 AND RO_5.fee_manager_form_id = t.id"
        )
        .setTableAlias("RO_5")
        .setColumnName("sku")
        .setNeedGroupBy(true)
    );
    map.put(
      "itemList.comment",
      new OptionalJoinField()
        .setJoinPart(
          "LEFT JOIN fee_manager_son AS RO_6 ON RO_6.del_flag = 0 AND RO_6.fee_manager_form_id = t.id"
        )
        .setTableAlias("RO_6")
        .setColumnName("comment")
        .setNeedGroupBy(true)
    );

    return map;
  }

  private Long itemList_sid;
  private List<String> itemList_sidInList;
  private String itemList_msku;
  private List<String> itemList_mskuInList;
  private String itemList_asin;
  private List<String> itemList_asinInList;
  private String itemList_parentAsin;
  private List<String> itemList_parentAsinInList;
  private String itemList_sku;
  private List<String> itemList_skuInList;
  private String itemList_comment;
  private List<String> itemList_commentInList;

  /**
   * 指定使用特定的视图过滤条件
   * <p>
   * 有效值包括：FeeManage/AllFee, FeeManage/WaitSubmit, FeeManage/handled, FeeManage/Voided
   * </p>
   */
  private String byViewName;

  /**
   * 编号
   */
  private Long id;

  /**
   * 最小编号
   */
  private Long idMin;

  /**
   * 最大编号
   */
  private Long idMax;

  /**
   * 编号 比较(eq)
   */
  private Long idEq;
  /**
   * 编号 比较(neq)
   */
  private Long idNeq;
  /**
   * 编号 比较(gt)
   */
  private Long idGt;
  /**
   * 编号 比较(gte)
   */
  private Long idGte;
  /**
   * 编号 比较(lt)
   */
  private Long idLt;
  /**
   * 编号 比较(lte)
   */
  private Long idLte;
  /**
   * 编号 比较(contains)
   */
  private Long idContains;
  /**
   * 编号 比较(notcontains)
   */
  private Long idNotcontains;
  /**
   * 编号 比较(startswith)
   */
  private Long idStartswith;
  /**
   * 编号 比较(endswith)
   */
  private Long idEndswith;
  /**
   * 编号 比较(isnull)
   */
  private Boolean idIsnull;
  /**
   * 编号 比较(isnotnull)
   */
  private Boolean idIsnotnull;

  /**
   * 最早更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeStart;

  /**
   * 最晚更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeEnd;

  /**
   * 更新时间 比较(eq)
   */
  private Date lastUpdateTimeEq;
  /**
   * 更新时间 比较(neq)
   */
  private Date lastUpdateTimeNeq;
  /**
   * 更新时间 比较(gt)
   */
  private Date lastUpdateTimeGt;
  /**
   * 更新时间 比较(gte)
   */
  private Date lastUpdateTimeGte;
  /**
   * 更新时间 比较(lt)
   */
  private Date lastUpdateTimeLt;
  /**
   * 更新时间 比较(lte)
   */
  private Date lastUpdateTimeLte;
  /**
   * 更新时间 比较(contains)
   */
  private Date lastUpdateTimeContains;
  /**
   * 更新时间 比较(notcontains)
   */
  private Date lastUpdateTimeNotcontains;
  /**
   * 更新时间 比较(startswith)
   */
  private Date lastUpdateTimeStartswith;
  /**
   * 更新时间 比较(endswith)
   */
  private Date lastUpdateTimeEndswith;
  /**
   * 更新时间 比较(isnull)
   */
  private Boolean lastUpdateTimeIsnull;
  /**
   * 更新时间 比较(isnotnull)
   */
  private Boolean lastUpdateTimeIsnotnull;

  /**
   * 更新人
   */
  private Long lastUpdateUser;

  /**
   * 最小更新人
   */
  private Long lastUpdateUserMin;

  /**
   * 最大更新人
   */
  private Long lastUpdateUserMax;

  /**
   * 更新人 比较(eq)
   */
  private Long lastUpdateUserEq;
  /**
   * 更新人 比较(neq)
   */
  private Long lastUpdateUserNeq;
  /**
   * 更新人 比较(gt)
   */
  private Long lastUpdateUserGt;
  /**
   * 更新人 比较(gte)
   */
  private Long lastUpdateUserGte;
  /**
   * 更新人 比较(lt)
   */
  private Long lastUpdateUserLt;
  /**
   * 更新人 比较(lte)
   */
  private Long lastUpdateUserLte;
  /**
   * 更新人 比较(contains)
   */
  private Long lastUpdateUserContains;
  /**
   * 更新人 比较(notcontains)
   */
  private Long lastUpdateUserNotcontains;
  /**
   * 更新人 比较(startswith)
   */
  private Long lastUpdateUserStartswith;
  /**
   * 更新人 比较(endswith)
   */
  private Long lastUpdateUserEndswith;
  /**
   * 更新人 比较(isnull)
   */
  private Boolean lastUpdateUserIsnull;
  /**
   * 更新人 比较(isnotnull)
   */
  private Boolean lastUpdateUserIsnotnull;

  /**
   * 费用单号(模糊搜索)
   */
  private String feeCode;

  /**
   * 费用单号 比较(eq)
   */
  private String feeCodeEq;
  /**
   * 费用单号 比较(neq)
   */
  private String feeCodeNeq;
  /**
   * 费用单号 比较(gt)
   */
  private String feeCodeGt;
  /**
   * 费用单号 比较(gte)
   */
  private String feeCodeGte;
  /**
   * 费用单号 比较(lt)
   */
  private String feeCodeLt;
  /**
   * 费用单号 比较(lte)
   */
  private String feeCodeLte;
  /**
   * 费用单号 比较(contains)
   */
  private String feeCodeContains;
  /**
   * 费用单号 比较(notcontains)
   */
  private String feeCodeNotcontains;
  /**
   * 费用单号 比较(startswith)
   */
  private String feeCodeStartswith;
  /**
   * 费用单号 比较(endswith)
   */
  private String feeCodeEndswith;
  /**
   * 费用单号 比较(isnull)
   */
  private Boolean feeCodeIsnull;
  /**
   * 费用单号 比较(isnotnull)
   */
  private Boolean feeCodeIsnotnull;

  /**
   * 费用单号(精确搜索)
   */
  private List<String> feeCodeInList;

  /**
   * 分摊状态
   */
  private String apportionStatus;

  /**
   * 分摊状态 比较(eq)
   */
  private String apportionStatusEq;
  /**
   * 分摊状态 比较(neq)
   */
  private String apportionStatusNeq;
  /**
   * 分摊状态 比较(gt)
   */
  private String apportionStatusGt;
  /**
   * 分摊状态 比较(gte)
   */
  private String apportionStatusGte;
  /**
   * 分摊状态 比较(lt)
   */
  private String apportionStatusLt;
  /**
   * 分摊状态 比较(lte)
   */
  private String apportionStatusLte;
  /**
   * 分摊状态 比较(contains)
   */
  private String apportionStatusContains;
  /**
   * 分摊状态 比较(notcontains)
   */
  private String apportionStatusNotcontains;
  /**
   * 分摊状态 比较(startswith)
   */
  private String apportionStatusStartswith;
  /**
   * 分摊状态 比较(endswith)
   */
  private String apportionStatusEndswith;
  /**
   * 分摊状态 比较(isnull)
   */
  private Boolean apportionStatusIsnull;
  /**
   * 分摊状态 比较(isnotnull)
   */
  private Boolean apportionStatusIsnotnull;

  /**
   * 分摊状态(精确搜索)
   */
  private List<String> apportionStatusInList;

  /**
   * 分摊维度
   */
  private String dimensions;

  /**
   * 分摊维度 比较(eq)
   */
  private String dimensionsEq;
  /**
   * 分摊维度 比较(neq)
   */
  private String dimensionsNeq;
  /**
   * 分摊维度 比较(gt)
   */
  private String dimensionsGt;
  /**
   * 分摊维度 比较(gte)
   */
  private String dimensionsGte;
  /**
   * 分摊维度 比较(lt)
   */
  private String dimensionsLt;
  /**
   * 分摊维度 比较(lte)
   */
  private String dimensionsLte;
  /**
   * 分摊维度 比较(contains)
   */
  private String dimensionsContains;
  /**
   * 分摊维度 比较(notcontains)
   */
  private String dimensionsNotcontains;
  /**
   * 分摊维度 比较(startswith)
   */
  private String dimensionsStartswith;
  /**
   * 分摊维度 比较(endswith)
   */
  private String dimensionsEndswith;
  /**
   * 分摊维度 比较(isnull)
   */
  private Boolean dimensionsIsnull;
  /**
   * 分摊维度 比较(isnotnull)
   */
  private Boolean dimensionsIsnotnull;

  /**
   * 分摊维度(精确搜索)
   */
  private List<String> dimensionsInList;

  /**
   * 分摊规则
   */
  private String apportionRule;

  /**
   * 分摊规则 比较(eq)
   */
  private String apportionRuleEq;
  /**
   * 分摊规则 比较(neq)
   */
  private String apportionRuleNeq;
  /**
   * 分摊规则 比较(gt)
   */
  private String apportionRuleGt;
  /**
   * 分摊规则 比较(gte)
   */
  private String apportionRuleGte;
  /**
   * 分摊规则 比较(lt)
   */
  private String apportionRuleLt;
  /**
   * 分摊规则 比较(lte)
   */
  private String apportionRuleLte;
  /**
   * 分摊规则 比较(contains)
   */
  private String apportionRuleContains;
  /**
   * 分摊规则 比较(notcontains)
   */
  private String apportionRuleNotcontains;
  /**
   * 分摊规则 比较(startswith)
   */
  private String apportionRuleStartswith;
  /**
   * 分摊规则 比较(endswith)
   */
  private String apportionRuleEndswith;
  /**
   * 分摊规则 比较(isnull)
   */
  private Boolean apportionRuleIsnull;
  /**
   * 分摊规则 比较(isnotnull)
   */
  private Boolean apportionRuleIsnotnull;

  /**
   * 分摊规则(精确搜索)
   */
  private List<String> apportionRuleInList;

  /**
   * 费用类型
   */
  private String otherFeeType;

  /**
   * 费用类型 比较(eq)
   */
  private String otherFeeTypeEq;
  /**
   * 费用类型 比较(neq)
   */
  private String otherFeeTypeNeq;
  /**
   * 费用类型 比较(gt)
   */
  private String otherFeeTypeGt;
  /**
   * 费用类型 比较(gte)
   */
  private String otherFeeTypeGte;
  /**
   * 费用类型 比较(lt)
   */
  private String otherFeeTypeLt;
  /**
   * 费用类型 比较(lte)
   */
  private String otherFeeTypeLte;
  /**
   * 费用类型 比较(contains)
   */
  private String otherFeeTypeContains;
  /**
   * 费用类型 比较(notcontains)
   */
  private String otherFeeTypeNotcontains;
  /**
   * 费用类型 比较(startswith)
   */
  private String otherFeeTypeStartswith;
  /**
   * 费用类型 比较(endswith)
   */
  private String otherFeeTypeEndswith;
  /**
   * 费用类型 比较(isnull)
   */
  private Boolean otherFeeTypeIsnull;
  /**
   * 费用类型 比较(isnotnull)
   */
  private Boolean otherFeeTypeIsnotnull;

  /**
   * 费用类型(精确搜索)
   */
  private List<String> otherFeeTypeInList;

  /**
   * 最早分摊日期
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date apportionDataStart;

  /**
   * 最晚分摊日期
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date apportionDataEnd;

  /**
   * 分摊日期 比较(eq)
   */
  private Date apportionDataEq;
  /**
   * 分摊日期 比较(neq)
   */
  private Date apportionDataNeq;
  /**
   * 分摊日期 比较(gt)
   */
  private Date apportionDataGt;
  /**
   * 分摊日期 比较(gte)
   */
  private Date apportionDataGte;
  /**
   * 分摊日期 比较(lt)
   */
  private Date apportionDataLt;
  /**
   * 分摊日期 比较(lte)
   */
  private Date apportionDataLte;
  /**
   * 分摊日期 比较(contains)
   */
  private Date apportionDataContains;
  /**
   * 分摊日期 比较(notcontains)
   */
  private Date apportionDataNotcontains;
  /**
   * 分摊日期 比较(startswith)
   */
  private Date apportionDataStartswith;
  /**
   * 分摊日期 比较(endswith)
   */
  private Date apportionDataEndswith;
  /**
   * 分摊日期 比较(isnull)
   */
  private Boolean apportionDataIsnull;
  /**
   * 分摊日期 比较(isnotnull)
   */
  private Boolean apportionDataIsnotnull;

  /**
   * 汇率
   */
  private java.math.BigDecimal exchangeRate;

  /**
   * 最小汇率
   */
  private java.math.BigDecimal exchangeRateMin;

  /**
   * 最大汇率
   */
  private java.math.BigDecimal exchangeRateMax;

  /**
   * 汇率 比较(eq)
   */
  private java.math.BigDecimal exchangeRateEq;
  /**
   * 汇率 比较(neq)
   */
  private java.math.BigDecimal exchangeRateNeq;
  /**
   * 汇率 比较(gt)
   */
  private java.math.BigDecimal exchangeRateGt;
  /**
   * 汇率 比较(gte)
   */
  private java.math.BigDecimal exchangeRateGte;
  /**
   * 汇率 比较(lt)
   */
  private java.math.BigDecimal exchangeRateLt;
  /**
   * 汇率 比较(lte)
   */
  private java.math.BigDecimal exchangeRateLte;
  /**
   * 汇率 比较(contains)
   */
  private java.math.BigDecimal exchangeRateContains;
  /**
   * 汇率 比较(notcontains)
   */
  private java.math.BigDecimal exchangeRateNotcontains;
  /**
   * 汇率 比较(startswith)
   */
  private java.math.BigDecimal exchangeRateStartswith;
  /**
   * 汇率 比较(endswith)
   */
  private java.math.BigDecimal exchangeRateEndswith;
  /**
   * 汇率 比较(isnull)
   */
  private Boolean exchangeRateIsnull;
  /**
   * 汇率 比较(isnotnull)
   */
  private Boolean exchangeRateIsnotnull;

  /**
   * 费用币种
   */
  private String currencyCode;

  /**
   * 费用币种 比较(eq)
   */
  private String currencyCodeEq;
  /**
   * 费用币种 比较(neq)
   */
  private String currencyCodeNeq;
  /**
   * 费用币种 比较(gt)
   */
  private String currencyCodeGt;
  /**
   * 费用币种 比较(gte)
   */
  private String currencyCodeGte;
  /**
   * 费用币种 比较(lt)
   */
  private String currencyCodeLt;
  /**
   * 费用币种 比较(lte)
   */
  private String currencyCodeLte;
  /**
   * 费用币种 比较(contains)
   */
  private String currencyCodeContains;
  /**
   * 费用币种 比较(notcontains)
   */
  private String currencyCodeNotcontains;
  /**
   * 费用币种 比较(startswith)
   */
  private String currencyCodeStartswith;
  /**
   * 费用币种 比较(endswith)
   */
  private String currencyCodeEndswith;
  /**
   * 费用币种 比较(isnull)
   */
  private Boolean currencyCodeIsnull;
  /**
   * 费用币种 比较(isnotnull)
   */
  private Boolean currencyCodeIsnotnull;

  /**
   * 费用币种(精确搜索)
   */
  private List<String> currencyCodeInList;

  /**
   * 入账方式
   */
  private String revenueAccountType;

  /**
   * 入账方式 比较(eq)
   */
  private String revenueAccountTypeEq;
  /**
   * 入账方式 比较(neq)
   */
  private String revenueAccountTypeNeq;
  /**
   * 入账方式 比较(gt)
   */
  private String revenueAccountTypeGt;
  /**
   * 入账方式 比较(gte)
   */
  private String revenueAccountTypeGte;
  /**
   * 入账方式 比较(lt)
   */
  private String revenueAccountTypeLt;
  /**
   * 入账方式 比较(lte)
   */
  private String revenueAccountTypeLte;
  /**
   * 入账方式 比较(contains)
   */
  private String revenueAccountTypeContains;
  /**
   * 入账方式 比较(notcontains)
   */
  private String revenueAccountTypeNotcontains;
  /**
   * 入账方式 比较(startswith)
   */
  private String revenueAccountTypeStartswith;
  /**
   * 入账方式 比较(endswith)
   */
  private String revenueAccountTypeEndswith;
  /**
   * 入账方式 比较(isnull)
   */
  private Boolean revenueAccountTypeIsnull;
  /**
   * 入账方式 比较(isnotnull)
   */
  private Boolean revenueAccountTypeIsnotnull;

  /**
   * 入账方式(精确搜索)
   */
  private List<String> revenueAccountTypeInList;

  /**
   * 创建人
   */
  private Long createUser;

  /**
   * 创建人 比较(eq)
   */
  private Long createUserEq;
  /**
   * 创建人 比较(neq)
   */
  private Long createUserNeq;
  /**
   * 创建人 比较(gt)
   */
  private Long createUserGt;
  /**
   * 创建人 比较(gte)
   */
  private Long createUserGte;
  /**
   * 创建人 比较(lt)
   */
  private Long createUserLt;
  /**
   * 创建人 比较(lte)
   */
  private Long createUserLte;
  /**
   * 创建人 比较(contains)
   */
  private Long createUserContains;
  /**
   * 创建人 比较(notcontains)
   */
  private Long createUserNotcontains;
  /**
   * 创建人 比较(startswith)
   */
  private Long createUserStartswith;
  /**
   * 创建人 比较(endswith)
   */
  private Long createUserEndswith;
  /**
   * 创建人 比较(isnull)
   */
  private Boolean createUserIsnull;
  /**
   * 创建人 比较(isnotnull)
   */
  private Boolean createUserIsnotnull;
  /**
   * 创建人的显示用户名 比较(eq)
   */
  private String createUserNameEq;
  /**
   * 创建人的显示用户名 比较(neq)
   */
  private String createUserNameNeq;
  /**
   * 创建人的显示用户名 比较(gt)
   */
  private String createUserNameGt;
  /**
   * 创建人的显示用户名 比较(gte)
   */
  private String createUserNameGte;
  /**
   * 创建人的显示用户名 比较(lt)
   */
  private String createUserNameLt;
  /**
   * 创建人的显示用户名 比较(lte)
   */
  private String createUserNameLte;
  /**
   * 创建人的显示用户名 比较(contains)
   */
  private String createUserNameContains;
  /**
   * 创建人的显示用户名 比较(notcontains)
   */
  private String createUserNameNotcontains;
  /**
   * 创建人的显示用户名 比较(startswith)
   */
  private String createUserNameStartswith;
  /**
   * 创建人的显示用户名 比较(endswith)
   */
  private String createUserNameEndswith;
  /**
   * 创建人的显示用户名 比较(isnull)
   */
  private Boolean createUserNameIsnull;
  /**
   * 创建人的显示用户名 比较(isnotnull)
   */
  private Boolean createUserNameIsnotnull;

  /**
   * 创建人(范围搜索)
   */
  private List<Long> createUserInList;

  /**
   * 最早创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeStart;

  /**
   * 最晚创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeEnd;

  /**
   * 创建时间 比较(eq)
   */
  private Date createTimeEq;
  /**
   * 创建时间 比较(neq)
   */
  private Date createTimeNeq;
  /**
   * 创建时间 比较(gt)
   */
  private Date createTimeGt;
  /**
   * 创建时间 比较(gte)
   */
  private Date createTimeGte;
  /**
   * 创建时间 比较(lt)
   */
  private Date createTimeLt;
  /**
   * 创建时间 比较(lte)
   */
  private Date createTimeLte;
  /**
   * 创建时间 比较(contains)
   */
  private Date createTimeContains;
  /**
   * 创建时间 比较(notcontains)
   */
  private Date createTimeNotcontains;
  /**
   * 创建时间 比较(startswith)
   */
  private Date createTimeStartswith;
  /**
   * 创建时间 比较(endswith)
   */
  private Date createTimeEndswith;
  /**
   * 创建时间 比较(isnull)
   */
  private Boolean createTimeIsnull;
  /**
   * 创建时间 比较(isnotnull)
   */
  private Boolean createTimeIsnotnull;

  /**
   * 单据备注(模糊搜索)
   */
  private String remarks;

  /**
   * 单据备注 比较(eq)
   */
  private String remarksEq;
  /**
   * 单据备注 比较(neq)
   */
  private String remarksNeq;
  /**
   * 单据备注 比较(gt)
   */
  private String remarksGt;
  /**
   * 单据备注 比较(gte)
   */
  private String remarksGte;
  /**
   * 单据备注 比较(lt)
   */
  private String remarksLt;
  /**
   * 单据备注 比较(lte)
   */
  private String remarksLte;
  /**
   * 单据备注 比较(contains)
   */
  private String remarksContains;
  /**
   * 单据备注 比较(notcontains)
   */
  private String remarksNotcontains;
  /**
   * 单据备注 比较(startswith)
   */
  private String remarksStartswith;
  /**
   * 单据备注 比较(endswith)
   */
  private String remarksEndswith;
  /**
   * 单据备注 比较(isnull)
   */
  private Boolean remarksIsnull;
  /**
   * 单据备注 比较(isnotnull)
   */
  private Boolean remarksIsnotnull;

  /**
   * 单据备注(精确搜索)
   */
  private List<String> remarksInList;

  /**
   * 状态
   */
  private String status;

  /**
   * 状态 比较(eq)
   */
  private String statusEq;
  /**
   * 状态 比较(neq)
   */
  private String statusNeq;
  /**
   * 状态 比较(gt)
   */
  private String statusGt;
  /**
   * 状态 比较(gte)
   */
  private String statusGte;
  /**
   * 状态 比较(lt)
   */
  private String statusLt;
  /**
   * 状态 比较(lte)
   */
  private String statusLte;
  /**
   * 状态 比较(contains)
   */
  private String statusContains;
  /**
   * 状态 比较(notcontains)
   */
  private String statusNotcontains;
  /**
   * 状态 比较(startswith)
   */
  private String statusStartswith;
  /**
   * 状态 比较(endswith)
   */
  private String statusEndswith;
  /**
   * 状态 比较(isnull)
   */
  private Boolean statusIsnull;
  /**
   * 状态 比较(isnotnull)
   */
  private Boolean statusIsnotnull;

  /**
   * 状态(精确搜索)
   */
  private List<String> statusInList;

  /**
   * 表单名称
   */
  private String formName;

  /**
   * 工作流状态
   */
  private Integer wfStatus;
}
